“I miss you deeply, unfathomably, senselessly, terribly.”
― Franz Kafka, Letters to Milena
部分的操作狀態會被 EventEmitter
監聽,可以用以下這些方法去取得事件的狀態 consumer.on()
, producer.on()
和 admin.on()
,範例如下
const { HEARTBEAT } = consumer.events
const removeListener = consumer.on(HEARTBEAT, e => console.log(`heartbeat at ${e.timestamp}`))
這些監聽者都是非同步的,消費者不會因為你啟動了這些監聽者而導致阻塞,監聽者若是發生錯誤並不會影響到消費者
以下為一個監聽事件
{
id: <Number>,
type: <String>,
timestamp: <Number>,
payload: <Object>
}
{broker, clientId, correlationId, size, createdAt, sentAt, pendingDuration, duration, apiName, apiKey, apiVersion}
{groupId, memberId, leaderId, isLeader, memberAssignment, groupProtocol, duration}
maxInflightRequests
控制,如果數量有變化,這個事件會被觸發maxInflightRequests
控制,如果數量有變化,這個事件會被觸發maxInflightRequests
控制,如果數量有變化,這個事件會被觸發